Thank you for the compliment, and just ask the questions you have. In the end it makes the content for a forum and helps others as well I think.
1. Uploading models to Sketchfab
Sketchfab knows many formats but I think the materials you actually used on your model should be leading in what format is best.
The first question you can ask yourself is, did I use texture maps? If the answer is âyesâ OBJ and STL are basically not usable as Keyshot doesnât support textures with those export formats.
The next question you could ask is âdid I use labels or procedural texturesâ. If the answer is âyesâ you canât use FBX. While FBX does support textures the output of an FBX in Keyshot wonât âbakeâ procedural textures or labels.
That leaves you with glTF/GLB, USD or 3MF. USD is quite a nice format and while Sketchfab can handle it not many other tools can. 3MF is basically a format especially for models which are going to be 3D printed so the best pick would be glTF/GLB.
If you export to glTF/GLB the used textures will be baked on your model and as far as I know labels as well. The baking itself is still done on CPU I think and it can take quite long and is not always perfect.
If you run Window 10/11 I think it comes with the program â3D Viewerâ or you can install it using the Microsoft Store. Thatâs actually a nice piece of software to check a model since itâs also a real time viewer. At this page of the manual: Export formats (keyshot.com) you can find more about the different formats. It also mentions the 3D Viewer canât load some glTF files which I think is indeed an issue with the viewer but it gets updated quite a lot.
I think you also should take into account that exporting from Keyshot is not without flaws and the result is only visible after youâve exported your model. It might be way faster to have two directions for every model.
-
You import a model from CAD and you use Keyshot to create photorealistic images for print/marketing purposes.
-
You import your model from CAD in a real time tool and apply the right materials there as well. That could be Marmoset Toolbag/Unreal Engine/Substance Painter/etc. Not all software will be able to load Nurbs so a lot of times an FBX export from CAD would suit best (without millions of polygons).
That might sound like a lot of extra work but especially with your kind of 3D models it could be way faster in the end. Especially once you have some materials done itâs mainly a matter of drag+drop and a bit of adjustments. Big plus is that you immediately see the result as how itâs going to be. Might be worth to test it with Marmoset Toolbag trial for example.
I would really like Keyshot also having some kind of more real-time workflow next to the photorealistic approach so you wonât need other tools but itâs a bit of a different audience for real time models. Itâs the same with other renderers like V-Ray. Although the Chaos Group now also owns âEnscapeâ which is a real time renderer mainly for architecture and they worked hard to bridge Enscape with V-Ray so they can really work together. But thatâs quite unique.
That being said, basically all people who do something with game models or models for online viewers use Marmoset Toolbag. Itâs a bit of a weird program but not too hard to learn. Substance Painter is also nice but Marmoset Toolbag is really aimed at baking and exporting models which it does really well.
Note about the export itself
One of the things I donât understand is why on earth Keyshot would ask users for the âdpiâ when people exporting a glTF/GLB model. It makes no sense to ask people about dpi in a pixel orientated environment. Itâs not that people going to print 3D models on a piece of paper.
It makes sense for models that are going to be 3D printed but itâs still about the most user unfriendly way to put it into a export dialog.
A better way is to ask people on what (screen) resolution they want them to look the model great or just ask (like every other program) how big you want the texture maps to be, in pixels.
The way it currently works pushes users to do all kind of calculations and if you put the wrong number in youâre baking for days. I hope this will be addressed and also baking will use GPU since thatâs like -a lot- faster.
2. Unreal Engine vs. Keyshot
While UE really does great things and gets better every time the real time engine has big limitations. Real-time engines leave out a lot of calculations which simply canât be done while keeping the frames per second at a certain level. That involves light calculations from multiple light sources so there will be exact shadows or for example caustics and refraction.
If you play games like a first person shooter it all looks quite convincing while you run around through the environment. But if you would just stand still and take a close look at shadows (or lack of shadows), reflections etc. you will notice itâs far from perfect.
Itâs just depending a lot on what youâre actually want to show. Unreal would do perfectly fine on the shower/taps etc but it will already have more difficulties with taps with a glass knob.
With time the gap between real-time renders and Keyshot will get smaller. GPUs get more and more powerful and with the RTX series now can do real time ray tracing. But it will take quite some time I think to get on par with renderers like Keyshot.
And like I said, itâs basically two different directions. A game has to be really efficient with models and textures so you have to sacrifice quality. But if you only want to display some single models in a 3D viewer a mid-range GPU wonât have issues displaying it in real time. But a complete bathroom or kitchen for that matter is another thing.
For your models it might not matter much and maybe UE gives out of the box a perfect picture so not really any misconception. Itâs more that your models fit the render engine quite well and with PBR and the current features of GPUs metal is not a hard thing anymore to do real-time.
Trevor and his spotlights will have more difficulties with the glass and the fact that light sources itself also look often a bit more cartoonish. You could use the Path Tracer in UE for such scenes but that removes the âreal-timeâ from the renders.
Long story but hope it made sense!